//////////////////////////////////////////////////////////////////////////

#ifndef _SERVEREVENTPACKET_H_
#define _SERVEREVENTPACKET_H_

//////////////////////////////////////////////////////////////////////////

#ifndef _PACKET_H_
#include "packet.h"
#endif

#ifndef _SAVER_H_
#include "saver.h"
#endif

//////////////////////////////////////////////////////////////////////////


/** Network packet, that contains server event info
*
*  @author   Anastasia Karpinska
*  @since    May 20th, 2010
*  @updated  May 20th, 2010
*/
class ServerEventPacket : public Packet
{
//////////////////////////////////////////////////////////////////////////

public:

//////////////////////////////////////////////////////////////////////////


    /** Constructor */
    ServerEventPacket( int _playerID, int _killerID ) :
        m_PlayerID(_playerID),
        m_KillerID(_killerID) {}


////////////////////////////////////////////////////////////////////////////////

    /** Get killed player ID */
    int GetPlayerID() const { return m_PlayerID; }


    /** Get killer ID */
    int GetKillerID() const { return m_KillerID; }


////////////////////////////////////////////////////////////////////////////////

private:

//////////////////////////////////////////////////////////////////////////
//// Serializable interface implementation
//////////////////////////////////////////////////////////////////////////


    /** Accept saver, that serializes the object into buffer */
    virtual void AcceptSaver( Saver& _saver ) const { _saver.SaveServerEventPacket(*this); }


//////////////////////////////////////////////////////////////////////////


    /** Killed player ID */
    int m_PlayerID;


    /** Killer ID */
    int m_KillerID;


//////////////////////////////////////////////////////////////////////////
};


//////////////////////////////////////////////////////////////////////////

#endif

//////////////////////////////////////////////////////////////////////////
